#include <stdio.h>
#include <time.h>
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main()
{
    ifstream fin;
    time_t start, end;
    vector<int> m1_sorted;
    double seconds;
    int num;
    setlocale(LC_ALL, "ru");

    fin.open("m1_sorted.txt");
    if(!fin.is_open()){
        cout<<"Ошибка открытия файла m1_sorted"<<endl;
    } else {
        cout<<"Файл m1_sorted открыт!"<<endl;
    }

    while(fin>>num){
        m1_sorted.push_back(num);
    }

    time(&start);
    for (int i = 0; i < m1_sorted.size(); i++) {
        bool flag = true;
        for (int j = 0; j < m1_sorted.size() - (i + 1); j++) {
            if (m1_sorted[j] > m1_sorted[j + 1]) {
            flag = false;
            swap (m1_sorted[j], m1_sorted[j + 1]);
        }
    }
        if (flag) {
            break;
        }
    }
    time(&end);
    seconds = difftime(end,start);
    printf("The time: %f seconds\n", seconds);

    fin.close();




    vector<int> m2_reverse;


    fin.open("m2_reverse.txt");
    if(!fin.is_open()){
        cout<<"Ошибка открытия файла m2_reverse"<<endl;
    } else {
        cout<<"Файл m2_reverse открыт!"<<endl;
    }
    while(fin>>num){
        m2_reverse.push_back(num);
    }

    time(&start);
    for (int i = 0; i < m2_reverse.size(); i++) {
        bool flag = true;
        for (int j = 0; j < m2_reverse.size() - (i + 1); j++) {
            if (m2_reverse[j] > m2_reverse[j + 1]) {
            flag = false;
            swap (m2_reverse[j], m2_reverse[j + 1]);
        }
    }
        if (flag) {
            break;
        }
    }
    time(&end);
    seconds = difftime(end,start);
    printf("The time: %f seconds\n", seconds);

    fin.close();




    vector<int> m3_shuffle;

    fin.open("m3_shuffle.txt");
    if(!fin.is_open()){
        cout<<"Ошибка открытия файла m3_shuffle"<<endl;
    } else {
        cout<<"Файл m3_shuffle открыт!"<<endl;
    }

    while(fin>>num){
        m3_shuffle.push_back(num);
    }

    time(&start);

    for (int i = 0; i < m3_shuffle.size(); i++) {
        bool flag = true;
        for (int j = 0; j < m3_shuffle.size() - (i + 1); j++) {
            if (m3_shuffle[j] > m3_shuffle[j + 1]) {
            flag = false;
            swap (m3_shuffle[j], m3_shuffle[j + 1]);
        }
    }
        if (flag) {
            break;
        }
    }
    time(&end);
    seconds = difftime(end,start);
    printf("The time: %f seconds\n", seconds);

    fin.close();

    return 0;
}
